package com.hzlx.productionProducts.mapper;

import java.util.List;

import com.hzlx.ProductionProductsDto;
import com.hzlx.productionProducts.domain.ProductionProducts;
import com.hzlx.productionProducts.domain.ProductionProductsWithCounts;
import com.hzlx.productionProducts.domain.insertProductsWithCount;

/**
 * 生产产品Mapper接口
 * 
 * @author dk
 * @date 2025-07-01
 */
public interface ProductionProductsMapper 
{


    public ProductionProducts selectFirstProductByOperationId(Integer operationId);
    /**
     * 查询生产产品
     * 
     * @param productId 生产产品主键
     * @return 生产产品
     */
    public ProductionProducts selectProductionProductsByProductId(Integer productId);

    /**
     * 查询生产产品列表
     * 
     * @param productionProducts 生产产品
     * @return 生产产品集合
     */
    public List<ProductionProducts> selectProductionProductsList(ProductionProducts productionProducts);

    /**
     * 新增生产产品
     * 
     * @param productionProducts 生产产品
     * @return 结果
     */
    public int insertProductionProducts(ProductionProducts productionProducts);

    /**
     * 修改生产产品
     * 
     * @param productionProducts 生产产品
     * @return 结果
     */
    public int updateProductionProducts(ProductionProducts productionProducts);

    /**
     * 删除生产产品
     * 
     * @param productId 生产产品主键
     * @return 结果
     */
    public int deleteProductionProductsByProductId(Integer productId);

    /**
     * 批量删除生产产品
     * 
     * @param productIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProductionProductsByProductIds(Integer[] productIds);
    public void deleteProductionProductsByDo(Long productId);

    void insertProductionProductsByBadGoods(ProductionProductsDto productionProductsDto);
    void updateProductionProductsByCounts (ProductionProductsWithCounts productionProductsWithCounts);
    void insertProductsByCount(List<ProductionProducts> insertProductsWithCounts);

}
